home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / R-Shows / (c)sds.d64 / sprite manip.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  100 lines

  1. 82 PRINT"[147]"
  2. 83 REM**********************************
  3. 84 REM(#)_MEANS BIT VALUE OF PARTICULAR
  4. 85 REM    SPRITE(S)                    *
  5. 95 REM***********************************
  6. 96 REM  SPRITE  VALUE POKED (BIT VALUE)
  7. 97 REM  -----   -----------
  8. 98 REM    0          1
  9. 99 REM    1          2  * * * * * * * *
  10. 100 REM   2          4  *NOTE: TO USE
  11. 105 REM   3          8  *MORE THAN ONE
  12. 210 REM   4          16 *SPRITE-ADD
  13. 211 REM   5          32 *POKE VALUES:
  14. 212 REM   6          64 *E.G.ADD 16+64=
  15. 213 REM   7          128*80 & POKE 80
  16. 214 REM                 *TO USE SPRITES
  17. 215 REM                 * 4 & 6        *
  18. 216 REM*********************************
  19. 217 V=53248:REM _ START OF VIC CHIP    *
  20. 218 REM*********************************
  21. 219 PRINTTAB(10)"[144]        [146]"
  22. 220 PRINTTAB(10)"        [146]"
  23. 221 REM     ^ BACKGROUND PRINTED       *
  24. 222 REM*********************************
  25. 224 POKE53276,28:
  26. 225 REM ^ SET MULTICOLOUR MODE(#)      *
  27. 229 REM*********************************
  28. 230 POKE53281,1:POKE53280,2:
  29. 231 REM   ^ SET SCREEN & BORDER COLOURS*
  30. 232 REM*********************************
  31. 240 POKE53285,6:POKE53286,7:
  32. 241 REM ^ SET TWO  COLOURS "IN" SPRITE *
  33. 242 REM*********************************
  34. 250 POKE53287+2,3:
  35. 251 REM   ^ SET COLOUR "OF" SPRITE (2) *
  36. 252 REM*********************************
  37. 255 REM ^ COLOUR VALUES 0 TO15 FOR EACH
  38. 256 REM ^ OF THE 'COLOUR' POKES ABOVE  *
  39. 257 REM*********************************
  40. 260 POKE53271,4:POKE53277,12
  41. 262 REM     ^ EXAND IN Y:EXPAND IN X
  42. 263 REM     ^ POKE'0'FOR NORMAL SIZE
  43. 264 REM     ^ USE (#) FOR PARTICULAR
  44. 266 REM     ^ SPRITE(S)                *
  45. 268 REM*********************************
  46. 270 POKE53275,16:REM_BACKGROUND PRIORITY
  47. 300 REM*********************************
  48. 320 POKEV+21,28:REM_ENABLE SPRITE(S) (#)
  49. 328 REM*********************************
  50. 330 POKE2042,13:POKE2043,13:POKE2044,13:
  51. 331 REM   ^ SPRITE(S) DATA STORED IN
  52. 332 REM   ^ 13TH BLOCK. ONE BLOCK=64.
  53. 334 REM   ^ THUS STARTING AT 13*64=832.
  54. 335 REM   ^ SEE LINE 140.
  55. 336 REM   ^ NOTE:
  56. 338 REM   ^   POKE 2040+SPRITE NO.,BLOCK
  57. 339 REM*********************************
  58. 340 FORN=0TO53:READQ:POKE832+N,Q:NEXT
  59. 342 REM   ^'0'TO'53' IS NUMBER OF DATA
  60. 343 REM   ^ ENTERIES.-I.E.THERE IS 54
  61. 344 REM   ^ ENTERIES. EACH DATA ENTERY
  62. 345 REM   ^ IS POKED INTO A LOCATION
  63. 346 REM   ^ STARTING AT 832 (PART OF
  64. 347 REM   ^ CASSETTE BUFFER)           *
  65. 348 REM*********************************
  66. 350 FORX=1TO255
  67. 360 POKEV+4,X:REM_UPDATES#2,XCOORDINATE
  68. 362 POKEV+6,X:REM_UPDATES#3,XCOORDINATE
  69. 364 POKEV+8,X:REM_UPDATES#4,XCOORDINATE
  70. 365 REM*********************************
  71. 370 POKEV+5,X:REM_UPDATES#2,YCOORDINATE
  72. 372 POKEV+7,255-X:REM_UPDATES#3,YCOORD.
  73. 374 POKEV+9,100:REM_UPDATES#4,Y COORD. *
  74. 375 REM********************************
  75. 380 NEXTX
  76. 395 REM********************************
  77. 400 POKE53264,16:REM_ENABLE LAST 64
  78. 402 REM        POSITIONS ON HORIZONTAL
  79. 404 REM        FOR SPRITE #4
  80. 406 REM********************************
  81. 410 FORI=0TO63:REM_MOVE LAST 64 POSIT.
  82. 420 POKEV+8,I:REM_UPDATE #4 X COORDS
  83. 440 NEXTI
  84. 442 REM********************************
  85. 445 POKE53264,0:REM_TURN OFF REGISTER
  86. 447 REM             TO MOVE LAST 64
  87. 449 REM             POSITIONS
  88. 450 GOTO350
  89. 452 REM********************************
  90. 5000 DATA 85, 170, 170, 85, 170, 170, 85, 170, 170
  91. 5010 DATA 170, 175, 250, 170, 175, 250, 170, 175, 250
  92. 5020 DATA 170, 175, 250, 170, 170, 170, 168, 2, 170
  93. 5030 DATA 168, 0, 170, 168, 0, 170, 168, 0, 42
  94. 5040 DATA 170, 170, 170, 170, 170, 170, 170, 170, 170
  95. 5050 DATA 170, 170, 170, 170, 170, 170, 170, 170, 170
  96. 5990 REM********************************
  97. 6000 REM   ^ DATA TAKEN FROM SPRITE
  98. 6005 REM   ^ EDITOR.                   *
  99. 6010 REM********************************
  100.